The present invention relates generally to processing of semiconductor wafers in a plurality of processing systems. More specifically, it relates to computer programs for controlling the operation of devices in such processing systems.
Generally, the industry of semiconductor manufacturing involves highly complex techniques for fabricating integrating circuits from semiconductor materials that are layered and patterned onto a substrate, such as silicon, by various process systems. For example, a first process system deposits a layer of material, while another process system etches a pattern in such deposited material.
In certain systems, a distributed control system is used to control various hardware components in a process system. In one example, a module controller is configured with high level software that, upon execution, operates to communicate with a plurality of underlying hardware I/O controllers (IOC's) to thereby control various hardware components, such as valves and gas flow controllers. The software of a module controller includes a sequence of operations for issuing commands to IOC's and receiving feedback from such IOC's. During execution of the module controller sequence, one or more commands may be issued to a particular IOC, which then sends one or more control signals to one or more hardware components. After issuance of a particular command or set of commands to an IOC, this module controller software typically waits for feedback from the respective IOC before issuing a subsequent command (or set of commands) to the same or a different IOC. The time duration between a command issuance event and receipt of feedback at the module controller level can be significant under certain conditions. To save time, some distributed systems may distribute particular critical sequence portions so that they are implemented directly or “hardcoded” in the appropriate IOC. However, a hardcoded solution does not allow a high level deterministic approach for verifying feedback prior to executing a next command, for example, and the hardcode can be difficult and time consuming to modify.
Accordingly, it would be beneficial to provide improved mechanisms for efficiently and flexibly controlling hardware devices of a processing system while providing full determinism capability.